#ifndef COMMANDS_ENUM_H
#define COMMANDS_ENUM_H
#include <map>
#include <cstdint>

enum class commands_enum: std::uint8_t {
	COMMAND_NOT_FOUND,
	COMMAND_FROM_PATH,
	EXIT,
	ECHO,
	TYPE,
	PWD,
	CD
};
inline std::map<commands_enum, std::string> commands_to_string = {
	{commands_enum::COMMAND_NOT_FOUND, "command not found"},
	{commands_enum::COMMAND_FROM_PATH, "command from path"},
	{commands_enum::EXIT, "exit"},
	{commands_enum::ECHO, "echo"},
	{commands_enum::TYPE, "type"},
	{commands_enum::PWD, "pwd"},
	{commands_enum::CD, "cd"}
};


inline std::map<std::string, commands_enum> string_to_commands = {
	{"command not found", commands_enum::COMMAND_NOT_FOUND},
	{"command from path", commands_enum::COMMAND_FROM_PATH},
	{"exit", commands_enum::EXIT},
	{"echo", commands_enum::ECHO},
	{"type", commands_enum::TYPE},
	{"pwd", commands_enum::PWD},
	{"cd", commands_enum::CD}
};

#endif //COMMANDS_ENUM_H
